package br.com.localab.reserva.modelo;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;

import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import br.com.localab.curso.modelo.Curso;
import br.com.localab.usuario.modelo.Usuario;


@Entity
@Table(name="tbl_reserva")
public class Reserva implements Serializable {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	@EmbeddedId	
	private Reserva_PK reserva_PK = new Reserva_PK();
	
	@ManyToOne(optional = false, fetch = FetchType.LAZY)
	@JoinColumn(name="codigo_curso")
	private Curso curso;
	
	@Column(name="ativo")
	private boolean ativo;
	
	@Column(name="compareceu")
	private boolean compareceu;
	
	@ManyToOne(optional = true, fetch = FetchType.LAZY)
	@JoinColumn(name="codigo_administrador_posse")
	private Usuario administrador_posse;
	
	@Temporal(TemporalType.DATE)
	@Column(name="data_da_posse", nullable=true)
	private Date data_da_posse;
	
	
	public Curso getCurso() {
		return curso;
	}

	public void setCurso(Curso curso) {
		this.curso = curso;
	}
	
	public boolean isAtivo() {
		return ativo;
	}

	public void setAtivo(boolean ativo) {
		this.ativo = ativo;
	}

	public Usuario getAdministrador_posse() {
		return administrador_posse;
	}

	public void setAdministrador_posse(Usuario administrador_posse) {
		this.administrador_posse = administrador_posse;
	}

	public Date getData_da_posse() {
		return data_da_posse;
	}

	public void setData_da_posse(Date data_da_posse) {
		this.data_da_posse = data_da_posse;
	}


	public Reserva_PK getReserva_PK() {
		return reserva_PK;
	}

	public void setReserva_PK(Reserva_PK reserva_PK) {
		this.reserva_PK = reserva_PK;
	}

	public boolean isCompareceu() {
		return compareceu;
	}

	public void setCompareceu(boolean compareceu) {
		this.compareceu = compareceu;
	}





	
	
	

}
